package com.tengju.settlement.infrastructure.persistence.mybatis.mapper.tengju.custom;

import com.tengju.settlement.infrastructure.persistence.mybatis.dataobject.DepositoryAccountDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface DepositoryAccountMapper {

    DepositoryAccountDO getByIdCodeLicenseStatus(Long idCode, Integer licenseType, String licenseNumber, Integer status, Integer depositoryChannel);

    List<DepositoryAccountDO> getByLicenseStatus(Integer licenseType, String licenseNumber, List<Integer> status, Integer depositoryChannel);

    DepositoryAccountDO getByIdCodeLicense(Long idCode, Integer licenseType, String licenseNumber, Integer depositoryChannel);


    List<DepositoryAccountDO> getByIdCodeStatus(Long idCode, List<Integer> status, Integer depositoryChannel);

    List<DepositoryAccountDO> getByIdCodesStatus(@Param("idCodes") List<Long> idCodes,@Param("status") List<Integer> status,@Param("depositoryChannel") Integer depositoryChannel);

    Integer countByIdCodeStatus(Long idCode, List<Integer> status, Integer depositoryChannel);

    DepositoryAccountDO getByDepAccountId(Long depAccountId);

    int updateStatus(DepositoryAccountDO accountDO);

    void insert(DepositoryAccountDO accountDO);

}
